#include <stdio.h>
#define N 4
int array[N] = {1,2,3,4};
void fullPermutation(int *a,int n)
{
	// int *b = a;
	// for(int i =0; i < n; i++)
	// 	b[i] = a[i];

	if( n ==1)
	{
		//printf("%d\n",*a);
		// 打印整个排好序的数组
		for(int i =0; i < N; i++)
			printf("%d\t",array[i]);
		printf("\n");
	}
				
	else
	{
		for(int i =0; i <n; i++)
		{
			int tmp = a[0];
			a[0] = a[i];
			a[i] = tmp;
			//printf("%d\t",*a);
			fullPermutation(a+1,n-1);
			tmp = a[0];
			a[0] = a[i];
			a[i] = tmp;
		}
	}

}

int main(void)
{
	//int array[3] = {1,2,3};
	fullPermutation(array, N);
	return 0;
}
